
\documentclass{standalone}

% Q-circuit version 2
% Copyright (C) 2004 Steve Flammia & Bryan Eastin
% Last modified on: 9/16/2011
% License: http://www.gnu.org/licenses/gpl-2.0.html
% Original file: http://physics.unm.edu/CQuIC/Qcircuit/Qcircuit.tex
% Modified for QuTiP on: 5/22/2014
\usepackage{xy}
\xyoption{matrix}
\xyoption{frame}
\xyoption{arrow}
\xyoption{arc}
\usepackage{ifpdf}
\entrymodifiers={!C\entrybox}
\newcommand{\bra}[1]{{\left\langle{#1}\right\vert}}
\newcommand{\ket}[1]{{\left\vert{#1}\right\rangle}}
\newcommand{\qw}[1][-1]{\ar @{-} [0,#1]}
\newcommand{\qwx}[1][-1]{\ar @{-} [#1,0]}
\newcommand{\cw}[1][-1]{\ar @{=} [0,#1]}
\newcommand{\cwx}[1][-1]{\ar @{=} [#1,0]}
\newcommand{\gate}[1]{*+<.6em>{#1} \POS ="i","i"+UR;"i"+UL **\dir{-};"i"+DL **\dir{-};"i"+DR **\dir{-};"i"+UR **\dir{-},"i" \qw}
\newcommand{\meter}{*=<1.8em,1.4em>{\xy ="j","j"-<.778em,.322em>;{"j"+<.778em,-.322em> \ellipse ur,_{}},"j"-<0em,.4em>;p+<.5em,.9em> **\dir{-},"j"+<2.2em,2.2em>*{},"j"-<2.2em,2.2em>*{} \endxy} \POS ="i","i"+UR;"i"+UL **\dir{-};"i"+DL **\dir{-};"i"+DR **\dir{-};"i"+UR **\dir{-},"i" \qw}
\newcommand{\measure}[1]{*+[F-:<.9em>]{#1} \qw}
\newcommand{\measuretab}[1]{*{\xy*+<.6em>{#1}="e";"e"+UL;"e"+UR **\dir{-};"e"+DR **\dir{-};"e"+DL **\dir{-};"e"+LC-<.5em,0em> **\dir{-};"e"+UL **\dir{-} \endxy} \qw}
\newcommand{\measureD}[1]{*{\xy*+=<0em,.1em>{#1}="e";"e"+UR+<0em,.25em>;"e"+UL+<-.5em,.25em> **\dir{-};"e"+DL+<-.5em,-.25em> **\dir{-};"e"+DR+<0em,-.25em> **\dir{-};{"e"+UR+<0em,.25em>\ellipse^{}};"e"+C:,+(0,1)*{} \endxy} \qw}
\newcommand{\multimeasure}[2]{*+<1em,.9em>{\hphantom{#2}} \qw \POS[0,0].[#1,0];p !C *{#2},p \drop\frm<.9em>{-}}
\newcommand{\multimeasureD}[2]{*+<1em,.9em>{\hphantom{#2}} \POS [0,0]="i",[0,0].[#1,0]="e",!C *{#2},"e"+UR-<.8em,0em>;"e"+UL **\dir{-};"e"+DL **\dir{-};"e"+DR+<-.8em,0em> **\dir{-};{"e"+DR+<0em,.8em>\ellipse^{}};"e"+UR+<0em,-.8em> **\dir{-};{"e"+UR-<.8em,0em>\ellipse^{}},"i" \qw}
\newcommand{\control}{*!<0em,.025em>-=-<.2em>{\bullet}}
\newcommand{\controlo}{*+<.01em>{\xy -<.095em>*\xycircle<.19em>{} \endxy}}
\newcommand{\ctrl}[1]{\control \qwx[#1] \qw}
\newcommand{\ctrlo}[1]{\controlo \qwx[#1] \qw}
\newcommand{\targ}{*+<.02em,.02em>{\xy ="i","i"-<.39em,0em>;"i"+<.39em,0em> **\dir{-}, "i"-<0em,.39em>;"i"+<0em,.39em> **\dir{-},"i"*\xycircle<.4em>{} \endxy} \qw}
\newcommand{\qswap}{*=<0em>{\times} \qw}
\newcommand{\multigate}[2]{*+<1em,.9em>{\hphantom{#2}} \POS [0,0]="i",[0,0].[#1,0]="e",!C *{#2},"e"+UR;"e"+UL **\dir{-};"e"+DL **\dir{-};"e"+DR **\dir{-};"e"+UR **\dir{-},"i" \qw}
\newcommand{\ghost}[1]{*+<1em,.9em>{\hphantom{#1}} \qw}
\newcommand{\push}[1]{*{#1}}
\newcommand{\gategroup}[6]{\POS"#1,#2"."#3,#2"."#1,#4"."#3,#4"!C*+<#5>\frm{#6}}
\newcommand{\rstick}[1]{*!L!<-.5em,0em>=<0em>{#1}}
\newcommand{\lstick}[1]{*!R!<.5em,0em>=<0em>{#1}}
\newcommand{\ustick}[1]{*!D!<0em,-.5em>=<0em>{#1}}
\newcommand{\dstick}[1]{*!U!<0em,.5em>=<0em>{#1}}
\newcommand{\Qcircuit}{\xymatrix @*=<0em>}
\newcommand{\link}[2]{\ar @{-} [#1,#2]}
\newcommand{\pureghost}[1]{*+<1em,.9em>{\hphantom{#1}}}

\begin{document}
\Qcircuit @C=1cm @R=1cm {
 &  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \gate{R_y^{\pi/4}}  &  \gate{R_y^{\pi/8}}  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \ctrl{1}  &  \qw  &  \ctrl{1}  &  \qw  &  \qw  &  \qw  &  \ctrl{1}  &  \qw  &  \ctrl{1}  &  \qw  &  \ctrl{2}  &  \ctrl{1}  &  \multigate{1}{{\rm SWAP}}  & \qw \\ 
 &  &  \gate{{\rm H}}  &  \qw  &  \qw  &  \gate{{\rm e^{i\pi F}}}  &  \gate{{\rm e^{i\pi F/2}}}  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \gate{{\rm e^{-i\pi F/2}}}  &  \gate{{\rm e^{-i\pi F}}}  &  \qw  &  \qw  &  \gate{X}  &  \ctrl{1}  &  \targ  &  \ctrl{1}  &  \targ  &  \ctrl{1}  &  \gate{X}  &  \ctrl{1}  &  \targ  &  \ctrl{1}  &  \targ  &  \ctrl{1}  &  \qw  &  \gate{{\rm H}}  &  \qw  & \qw \\ 
 &  &  \qw  &  \qw  &  \gate{{\rm H}}  &  \qw  &  \ctrl{-1}  &  \multigate{1}{{\rm SWAP}}  &  \gate{{\rm H}}  &  \ctrl{1}  &  \qw  &  \ctrl{-2}  &  \qw  &  \qw  &  \ctrl{1}  &  \gate{{\rm H}}  &  \multigate{1}{{\rm SWAP}}  &  \ctrl{-1}  &  \qw  &  \qw  &  \gate{{\rm H}}  &  \qw  &  \gate{R_y^{\theta_1/2}}  &  \qw  &  \gate{R_y^{\dagger \theta_1/2}}  &  \qw  &  \gate{R_y^{\theta_1/2}}  &  \qw  &  \gate{R_y^{\theta_2/2}}  &  \qw  &  \gate{R_y^{\dagger \theta_2/2}}  &  \qw  &  \gate{R_y^{\theta_2/2}}  &  \gate{R_y^{-\theta_0}}  &  \qw  &  \qw  & \qw \\ 
 &  &  \qw  &  \gate{{\rm H}}  &  \qw  &  \ctrl{-2}  &  \qw  &  \ghost{{\rm SWAP}}  &  \qw  &  \gate{{\rm S^{-1}}}  &  \gate{{\rm H}}  &  \qw  &  \ctrl{-3}  &  \gate{{\rm H}}  &  \gate{{\rm S}}  &  \qw  &  \ghost{{\rm SWAP}}  &  \qw  &  \ctrl{-2}  &  \gate{{\rm H}}  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \qw  &  \ghost{{\rm SWAP}}  & \qw \\ 
}
\end{document}
